The congestion control and avoidance mechanisms of the Internet, implemented through its end-to-end Transmission Control Protocol (TCP), significantly affects its throughput and stability. TCP uses a window-based flow control mechanism. The sender maintains a congestion window cwnd whose value limits the number of outstanding packets the sender can send. The destination sends acknowledgements for packets that are received. When the window size is exhausted, the sender must wait for an acknowledgement before sending a new packet based on a sliding window principle. This is known as the ‘self-clocking’ feature of TCP.
According to the congestion control algorithm of TCP, if packet loss occurs within the window, it is assumed that the losses are caused by congestion and hence the congestion window is halved; otherwise, the congestion window is increased by one. The Internet is essentially a network of interconnected queues. The queues are maintained at the ports of the various routers, switches and servers that form the links of the communications network that is the Internet. Traditionally, the network equipment, or nodes, manage their queues by accepting packets until the maximum queue length is reached and then dropping subsequent incoming packets until buffers become available. This method is known as Droptail. Droptail has served the Internet for years. However, study has shown that Droptail has some major drawbacks. Since Droptail only notifies the sender (by means of dropping a packet) when the buffer overflows, and due to latency and delayed reaction by the sender, Droptail allows the queue to maintain a full (or almost full) status for a long period of time. This has two adverse effects: (1) long queuing delay in the routers, which in turn increases packet latency, and (2) a long period of packet loss which, when combined with long latency, means that senders react too aggressively to congestion—reducing their rate drastically, often unnecessarily—thus causing wastage of capacity and low utilization.
For Droptail when queue overflow occurs, arriving packets are simply dropped. Droptail is effectively ‘no management’. The major problem of Droptail queue management is that the sources reduce their transmission rates only after detecting packet losses. Since considerable amount of time may have elapsed between the packet dropped at the router and its detection at the source, a large number of packets are continually sent at a rate that the network cannot support. This leads to high queue sizes and high loss rates at congested links.
Active queue management (AQM) processes have been introduced to alleviate the problems of network congestion. In general, AQM processes control congestion by controlling flow. Congestion is measured and a control action is taken to, ultimately, reduce the packet loss rates and queuing delays. AQM sends congestion notification to traffic sources, using packet marking or dropping, before a queue has reached its maximum size, so that the traffic sources can respond to the congestion before the actual buffers overflow.
There have been two approaches for measuring congestion: (1) queue based, and (2) flow based. In queue based AQMs congestion is determined by simply observing the queue size. The advantage of this is that it does not require any computations in comparison with flow based AQMs which determines congestion based on the real-time estimation of the packet arrival rates.
One technique for congestion control is Random Early Drop (RED). The key idea of RED is to keep the average buffer occupancy low. RED manages the queue in an active manner by randomly dropping packets with increasing probability as the average queue size increases. The packet drop rate increases linearly from zero, when the average queue size is at the RED parameter minth, to a drop rate of maxp when the average queue size reaches maxth. One of the RED's main goals is to use the combination of queue length averaging (which accommodates bursty traffic) and early congestion notification (which reduces the average queue length) to simultaneously achieve a low average queuing delay and a high throughput. So far, RED is the most prominent and widely studied AQM mechanism.
The total network delay is essentially the sum of queuing delay, in routers and switches and other equipment of the network, and propagation delay in the physical transport medium, such as the optical fiber or copper wire that support the links. Currently queuing delay dominates most round trip times (RTT), being the time a packet takes to travel from a source to a destination and return. An ideal is to reduce the network delay to just the propagation delay.
Industry is designing routers with increasing buffer size and the industry rule is that routers should be able to store data equal to RTT×transmission rate. For example, if the transmission rate is 10 Gb/s, and assuming RTT=200 ms, then the buffer capacity must be of the order of 2 GB. Given this industry trend it is important to have an effective queue-based AQM that will maintain high throughput as well as low latency under various traffic conditions, and which at the same time will be simple to implement.
It is desired to provide an AQM process that maintains high link utilization whilst achieving the QoS (Quality of Service) requirements of limited packet loss and delay, or at least provide a useful alternative.